/**
 *
 */
package cn.luischen;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author wupf
 *
 */
//此处T可以随便写为任意标识，常见的如T、E、K、V等形式的参数常用于表示泛型
//在实例化泛型类时，必须指定T的具体类型
public class GenericSample2 {
    //key这个成员变量的类型为T,T的类型由外部指定
    private String key;

    public GenericSample2(String key) { //泛型构造方法形参key的类型也为T，T的类型由外部指定
        this.key = key;
    }

    public String getKey() { //泛型方法getKey的返回值类型为T，T的类型由外部指定
        return key;
    }

    protected void a1(List a) {
        List<String> list=new ArrayList<>();
    }

    protected void a1(Map<String,String> a) {
        List<String> list=new ArrayList<>();
    }
    protected void a2(List<String> a,List<String> b) {

    }

    protected void a3(List<String> a,List<String> b) {
        b.toArray();
        a.add("e");
    }
}